
import { createRouter, createWebHashHistory } from 'vue-router'
// 如 先导入 后使用，先将所有的组件 都执行了一次
import Login from '@/views/login/Login.vue'
import Layout from '@/views/layout/Layout.vue'

// 根据routes 数组 可以自动生成 菜单数组
// 思路： 暴露一个对象|| 函数  
//  1.得到menus   
// 2. 根据routes 遍历循环 生成menus 
//     传入routes 循环routes 和routes里面的children
//      搞个空数组 得到修改之后的routes 
const routes = [
    {
        path: '/',
        redirect: '/login'
    },
    {
        path: '/login',
        component: Login
    },
    //   首页模块
    {
        path: '/layout',
        component: Layout,
        // 路由元信息 可以自定义任何数据，通过useRoute 可以获取到
        meta:{
            title:'首页',
            unShow:true,
        },
        redirect: '/home',
        children: [
            {
                path: '/home',
                meta:{
                    title:'首页',
             
                },
                //路由懒加载 
                // 只有访问这个路由时 ，才导入|运行对应的组件
                // 项目逇第一个页面需要 提升加载速度，懒加载必须处理 
                // 如果需要当页面需要提升访问速度，不能做懒加载
                component: () => import('@/views/home/Home.vue')
            },

        ]
    },
    //   账号模块
    {
        path: '/account',
        component: Layout,
        meta:{
            title:'账号管理'
        },
        redirect: '/accountList',
        children: [
            {
                path: '/accountList',
                meta:{
                    title:'账号列表'
                },
                component: () => import('@/views/account/List.vue')
            },
            {
                path: '/accountAdd',
                meta:{
                    title:'添加账号'
                },
                component: () => import('@/views/account/Add.vue')
            },
            {
                path: '/accountCenter',
                meta:{
                    title:'个人中心'
                },
                component: () => import('@/views/account/Center.vue')
            },
            {
                path: '/accountEdit',
                meta:{
                    title:'修改账号'
                },
                component: () => import('@/views/account/Edit.vue')
            },

        ]
    },
    //   商品模块
    {
        path: '/goods',
        meta:{
            title:'商品管理'
        },
        component: Layout,
        redirect: '/goodsList',
        children: [
            {
                path: '/goodsList',
                meta:{
                    title:'商品列表'
                },
                component: () => import('@/views/goods/List.vue')
            },
            {
                path: '/goodsAdd',
                meta:{
                    title:'添加商品'
                },
                component: () => import('@/views/goods/Add.vue')
            },
            {
                path: '/goodsType',
                meta:{
                    title:'商品类型'
                },
                component: () => import('@/views/goods/Type.vue')
            },


        ]
    },
    //   订单模块
    {
        path: '/order',
        component: Layout,
        meta:{
            title:'订单管理',
            //面包屑不需要显示
            unShow:true,
        },
        redirect: '/orderList',
        children: [
            {
                path: '/orderList',
                meta:{
                    title:'订单管理',
                    
                },
                component: () => import('@/views/order/Order.vue')
            },
        ]
    },
    //   店铺模块
    {
        path: '/shop',
        component: Layout,
        redirect: '/shopInfo',
        meta:{
            title:'店铺管理',
              //面包屑不需要显示
              unShow:true,
        },
        children: [
            {
                meta:{
                    title:'店铺管理'
                },
                path: '/shopInfo',
                component: () => import('@/views/shop/Shop.vue')
            },
        ]
    },
    //   统计模块
    {
        path: '/statistics',
        component: Layout,
        meta:{
            title:'统计数据'
        },
        redirect: '/statisticsGoods',
        children: [
            {
                path: '/statisticsGoods',
                meta:{
                    title:'商品统计'
                },
                component: () => import('@/views/statistics/Goods.vue')
            },
            {
                path: '/statisticsOrder',
                meta:{
                    title:'订单统计'
                },
                component: () => import('@/views/statistics/Order.vue')
            }

        ]
    },

]
const router = createRouter({
    history: createWebHashHistory(),
    routes
})




export default router